﻿/**
 * Proyecto: Cognitum
 * Global IT Services 2008
 * @author
 */
Cognitum.Polizas.Siniestro.Danhos.Componentes.Generales = Ext.extend(Karma.FB, {

    divisionOperativaDanhos: null,
    
    initComponent: function(){
        Ext.apply(this, {
            title: 'Datos generales',
            items: [{
                fieldLabel: 'Numero',
                name: 'Numero'
            }, {
                fieldLabel: 'Fecha',
                name: 'FechaSiniestro',
                xtype: 'datefield',
                allowBlank: false                
            }, {
                fieldLabel: 'EstatusSiniestro',
                name: 'EstatusSiniestro',
                xtype: 'enum.combo',
                enumName: 'Cognitum.Dominio.Polizas.EstatusSiniestroEnum'
            }, {
                entityName: 'Polizas',
                xtype: 'entity.link',
                fieldLabel: 'Poliza',
                name: 'Poliza',
                readonly: true,
                preContext: [{
                    value: 0,
                    query: 'p.Ramo.DivisionOperativa = ' + this.divisionOperativaDanhos
                }]
            }, {
                fieldLabel: 'Estatus Cobranza',
                name: 'Poliza.EstatusCobranza',
                xtype: 'enum.combo',
                enumName: 'Cognitum.Dominio.Polizas.EstatusCobranzaEnum',
                disabled: true
            }, {
                entityName: 'UbicacionAsegurada',
                xtype: 'entity.link',
                fieldLabel: 'Ubicacion',
                name: 'BienAsegurado',
                contextTriggers: [{
                    id: 'Poliza',
                    query: 'm.Poliza.Id=?'
                }]
            }, {
                fieldLabel: 'Ajustador',
                name: 'Ajustador',
                entityName: 'ContactoSimple',
                xtype: 'entity.link'
            }, {
                fieldLabel: 'Total Reclamado',
                name: 'TotalReclamado'
            }, {
                fieldLabel: 'Total Anticipado',
                name: 'TotalAnticipado',
                disabled: true
            }, {
                fieldLabel: 'Monto Restante',
                name: 'MontoRestante',
                disabled: true
            }, {
                fieldLabel: 'Total Pagado',
                name: 'TotalPagado',
                disabled: true
            }]
        });
        Cognitum.Polizas.Siniestro.Danhos.Componentes.Generales.superclass.initComponent.apply(this, arguments);
    },
    
    onLoad: function(value){
        var poliza = this.getForm().findField('Poliza');
        if (!Ext.isEmpty(value.Poliza)) {
            poliza.disable();
        }
    }
    
});


Ext.reg('sin.danhos.ctls.gral', Cognitum.Polizas.Siniestro.Danhos.Componentes.Generales);

Cognitum.Polizas.Siniestro.Danhos.Editor = Ext.extend(Cognitum.Polizas.Siniestro.Editor, {

    divisionOperativaDanhos: 3,
    
    initComponent: function(){
        var _sections = [
        {
            xtype: 'sin.danhos.ctls.gral',
            title: 'General',
            divisionOperativaDanhos: this.divisionOperativaDanhos
        }, {
            title: 'Bitacora',
            items: [{
                hideLabel: true,
                name: 'Bitacora',
                entityName: 'BitacoraSiniestro',
                xtype: 'ag.list',
                context: 'b.Siniestro.Id=?',
                anchor: '99% 99%'
            }]
        }, {
            title: 'Pagos y Anticipos',
            items: [{
                hideLabel: true,
                name: 'Pagos',
                entityName: 'PagoBeneficio',
                xtype: 'ag.list',
                context: 'p.Siniestro.Id=?',
                anchor: '99% 99%',
                listeners: {
                    refresh: {
                        fn: function() {
                            this.entityId = this.value.Id;
                            this.loadAction();
                        },
                        scope: this
                    }
                }
            }]
        }, {
            title: 'Documentos',
            items: [{
                fieldLabel: 'Documentos',
                hideLabel: true,
                name: 'Documentos',
                entityName: 'DocumentoDigitalizadoSiniestro',
                xtype: 'ag.list',
                context: 'd.Siniestro.Id=?',
                anchor: '99% 99%'
                }]
            }, {
            xtype: 'aud.editor',
            title: 'Auditoria'
        }];
        
        if (this.seccionesAdicionales) {
            Ext.each(this.seccionesAdicionales, function(item){
                _sections.push(item);
            }, this);
        }      
        Ext.apply(this, {
            sections: _sections
        });
        Cognitum.Polizas.Siniestro.Danhos.Editor.superclass.initComponent.apply(this, arguments);
    }
});

Ext.reg('sin.danhos.editor', Cognitum.Polizas.Siniestro.Danhos.Editor);
